﻿using System;
using System.Web.UI;
using System.Text;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;
using System.Globalization;

public partial class _ConvidarEntrevista : System.Web.UI.Page
{
    string assuntoEncaminharCurriculo = "", textoEncaminharCurriculo = "";
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Session["cpf"] == null || Session["cnpj"] == null)
            Response.Redirect("mensagens.aspx?id=1");
        else
        {
            CV2.ValueToCompare = DateTime.Today.ToShortDateString();
            if (Session["cpf"] != null && Session["cnpj"] != null)
            {
                hfCPF.Value = Session["cpf"].ToString();
                hfCod.Value = Session["codInscrito"].ToString();
                hfEmail.Value = Session["Email"].ToString();
                if (!Page.IsPostBack) 
                {
                    //RetornaDadosEmpresa();
                    CarregarDdlOcupacao();
                }
            }
        }
    }

    protected void ddlOcupacao_SelectedIndexChanged(object sender, EventArgs e)
    {
        SqlConnection conexaoIntranet = new SqlConnection(ConfigurationManager.ConnectionStrings["conexao_intranet"].ConnectionString);

        try
        {
            SqlDataReader dataReader;

            if (conexaoIntranet != null && conexaoIntranet.State != ConnectionState.Open)
                conexaoIntranet.Open();

            string idVaga = this.ddlOcupacao.SelectedValue;

            string sql = "select emp.nomeFantasia, ent.endereco, ent.numero, ent.bairroDistrito, ent.municipio, ent.cep, ent.contato, ent.telefone, ent.email " +
                         "from CamaraEmpresas emp inner join CamaraCVVaga vaga on emp.cnpj = vaga.fkCnpjEmpresa " +
                                                 "inner join CamaraCVEntrevista ent on vaga.pkIdVaga = ent.fkIdVaga " +
                         "where emp.cnpj = '" + Session["cnpj"].ToString() + "' and vaga.pkIdVaga = " + idVaga + "";

            SqlCommand select = new SqlCommand(sql, conexaoIntranet);

            dataReader = select.ExecuteReader();

            if (dataReader.HasRows)
            {
                dataReader.Read();
                txtEmpresa.Text = dataReader["nomeFantasia"].ToString();
                txtLocal.Text = dataReader["endereco"].ToString() + ", " + dataReader["numero"].ToString() + ", " + dataReader["bairroDistrito"].ToString() + " ";
                txtLocal.Text += dataReader["municipio"].ToString() + ", CEP: " + dataReader["cep"].ToString();
                txtContato.Text = dataReader["contato"].ToString();
                txtTelefone.Text = dataReader["telefone"].ToString();
                txtEmail.Text = dataReader["email"].ToString();
            }
            else
            {
                txtEmpresa.Text = "";
                txtLocal.Text = "";
                txtContato.Text = "";
                txtTelefone.Text = "";
                txtEmail.Text = "";
            }
            dataReader.Close();
        }
        finally
        {
            conexaoIntranet.Close();
        }
    }

    private void CarregarDdlOcupacao()
    {
        SqlConnection conexaoIntranet = new SqlConnection(ConfigurationManager.ConnectionStrings["conexao_intranet"].ConnectionString);

        try
        {
            SqlDataReader drOcupacaoVaga;

            if (conexaoIntranet != null && conexaoIntranet.State != ConnectionState.Open)
                conexaoIntranet.Open();

            SqlCommand selectOcupacao = new SqlCommand("SELECT pkIdVaga, ocupacao FROM CamaraCVVaga WHERE fkCnpjEmpresa = '" + Session["cnpj"].ToString() + "'", conexaoIntranet);

            drOcupacaoVaga = selectOcupacao.ExecuteReader();

            if (drOcupacaoVaga.HasRows)
            {
                this.ddlOcupacao.DataSource = drOcupacaoVaga;
                this.ddlOcupacao.DataTextField = "ocupacao";
                this.ddlOcupacao.DataValueField = "pkIdVaga";
                this.ddlOcupacao.DataBind();
            }
            drOcupacaoVaga.Close();
        }
        finally
        {
            conexaoIntranet.Close();
        }
    }

    #region antigo método (RetornaDadosEmpresa()) comentado
    //protected void RetornaDadosEmpresa()
    //{
    //    SqlConnection conexaoIntranet = new SqlConnection(ConfigurationManager.ConnectionStrings["conexao_intranet"].ConnectionString);
    //    SqlCommand consultaDadosEmpresa = null;
    //    SqlDataReader drDadosEmpresa;
    //    SqlDataReader drOcupacaoVaga;

    //    try
    //    {
    //        if (conexaoIntranet != null && conexaoIntranet.State != ConnectionState.Open)
    //            conexaoIntranet.Open();

    //        SqlCommand selectOcupacao = new SqlCommand("SELECT pkIdVaga, ocupacao FROM CamaraCVVaga WHERE fkCnpjEmpresa = '" + Session["cnpj"].ToString() + "'", conexaoIntranet);

    //        drOcupacaoVaga = selectOcupacao.ExecuteReader();

    //        if (drOcupacaoVaga.HasRows)
    //        {
    //            this.ddlOcupacao.DataSource = drOcupacaoVaga;
    //            this.ddlOcupacao.DataTextField = "ocupacao";
    //            this.ddlOcupacao.DataValueField = "pkIdVaga";
    //            this.ddlOcupacao.DataBind();
    //        }
    //        drOcupacaoVaga.Close();

    //        string instrucao = "SELECT NomeFantasia, Endereco, Numero, Bairro, Cidade, CEP, DDDFone, Fone, Email FROM CamaraEmpresas WHERE CNPJ = '" + Session["cnpj"].ToString() + "'";
    //        consultaDadosEmpresa = new SqlCommand(instrucao, conexaoIntranet);
    //        drDadosEmpresa = consultaDadosEmpresa.ExecuteReader();
    //        if (drDadosEmpresa.HasRows)
    //        {
    //            drDadosEmpresa.Read();
    //            txtEmpresa.Text = drDadosEmpresa["NomeFantasia"].ToString();
    //            txtLocal.Text = drDadosEmpresa["Endereco"].ToString() + ", " + drDadosEmpresa["Numero"].ToString() + ", " + drDadosEmpresa["Bairro"].ToString() + " ";
    //            txtLocal.Text += drDadosEmpresa["Cidade"].ToString() + ", CEP: " + drDadosEmpresa["CEP"].ToString();
    //            txtTelefone.Text = drDadosEmpresa["DDDFone"].ToString() + " " + drDadosEmpresa["Fone"].ToString();
    //            txtEmail.Text = drDadosEmpresa["Email"].ToString();
    //        }
    //        drDadosEmpresa.Close();
    //    }
    //    finally
    //    {
    //        conexaoIntranet.Close();
    //    }
    //}
    #endregion

    protected void btnEncaminharCurriculo_Click(object sender, ImageClickEventArgs e)
    {
        try
        {
            EnviarEmailCandidato();
            //EnviarEmailFlorescer("bancodetalentos@reservacamara.com.br");
            //EnviarEmailFlorescer("imo.florescer@stqe.pe.gov.br");
            EnviarEmailFlorescer("caioximenes@pe.senac.br");
        }
        catch(Exception)
        {
            Response.Redirect("mensagensc.aspx?id=6");
        }


        SqlConnection conexaoIntranet = null;
        try
        {
            conexaoIntranet = new SqlConnection(ConfigurationManager.ConnectionStrings["conexao_intranet"].ConnectionString);

            int pkIdVaga = Convert.ToInt32(this.ddlOcupacao.SelectedValue);

            string sqlinsert = "INSERT INTO CamaraVaga_Inscritos (fkIdVaga, fkIdInscrito, dataConvite, horarioEntrevista, dataEntrevista) " +
                               "VALUES (" + pkIdVaga + ", '" + Session["cpf"].ToString() + "', GETDATE(), '" + this.txtHora.Text + "', '" + this.txtData.Text + "');";

            SqlCommand comInsert = new SqlCommand(sqlinsert, conexaoIntranet);
            comInsert.Connection.Open();
            comInsert.ExecuteNonQuery();
        }
        catch (Exception)
        {
            Response.Redirect("mensagensc.aspx?id=7");
        }
        finally
        {
            conexaoIntranet.Close();
        }

        Response.Redirect("mensagensc.aspx?id=5");

    }

    protected void EnviarEmailCandidato()
    {
        try
        {
            StringBuilder contudoMensagem = GeraMensagem();
            ClassesSiteIntranet.Mensagem api = new ClassesSiteIntranet.Mensagem();
            api.de = "camara@pe.senac.br";
            api.para = hfEmail.Value;
            if (cbEnviarCopia.Checked)
                api.cc = txtEmail.Text;
            api.assunto = "Camará Shopping - Convite para entrevista";
            api.conteudomensagem = contudoMensagem.ToString();
            api.EnviarMsg();
            Session["cod"] = hfCod.Value;
            Session["cpf"] = hfCPF.Value;
        }
        catch { }
    }

    protected void EnviarEmailFlorescer(string email)
    {
        try
        {
            StringBuilder contudoMensagem = GeraMensagemFlorescer();
            ClassesSiteIntranet.Mensagem api = new ClassesSiteIntranet.Mensagem();
            api.de = "camara@pe.senac.br";
            api.para = email;
            if (cbEnviarCopia.Checked)
                api.cc = txtEmail.Text;
            api.assunto = "Camará Shopping - Convite para entrevista";
            api.conteudomensagem = contudoMensagem.ToString();
            api.EnviarMsg();
            Session["cod"] = hfCod.Value;
            Session["cpf"] = hfCPF.Value;
        }
        catch { }
    }

    protected StringBuilder GeraMensagem()
    {
        string telefoneCompleto = this.txtTelefone.Text.Substring(0, 2) + " " + this.txtTelefone.Text.Remove(0, 2);

        StringBuilder mensagem = new StringBuilder();
        mensagem.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\">");
        mensagem.Append("<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />");
        mensagem.Append("<style type=\"text/css\">");
        mensagem.Append("body { font: 13px Arial, Helvetica, sans-serif; } ");
        mensagem.Append(".nome {font:bold 20px Tahoma, Arial;color:#006C91; } ");
        mensagem.Append(".dados {font-weight: bold;} ");
        mensagem.Append("</style></head>");
        mensagem.Append("<body>");
        mensagem.Append("<table style=\"width:500px;\" cellpadding=\"0\" cellspacing=\"4\" id=\"tabela\"><tr><td colspan=\"4\" class=\"nome\"><img src=\"http://www.pe.senac.br/camara/figuras/projeto_florescer.png\" width=\"196\" /></td></tr>");
        mensagem.Append("<tr><td colspan=\"4\" style=\"text-align:justify\">Prezado(a) candidato(a), <br /><br />");
        mensagem.Append("<tr><td colspan=\"4\" style=\"text-align:justify\">Parabéns! <br /><br />");
        mensagem.Append("O seu currículo foi selecionado por uma das empresas cadastradas no Banco de Talentos do Projeto Florescer, para participar de uma entrevista. Observe as informações abaixo e prepare-se para esse momento tão esperado.<br /></td></tr>");
        mensagem.Append("<tr><td colspan=\"4\">&nbsp</td></tr>");
        if (txtEmpresa.Text != "")
            mensagem.Append("<tr><td style=\"width:68px;\"><strong>Empresa:</strong></td><td style=\"width:432px;\">" + txtEmpresa.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Data:</strong></td><td style=\"width:432px;\">" + txtData.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:48px;\"><strong>Horário:</strong></td><td style=\"width:432px;\">" + txtHora.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Local:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + txtLocal.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Contato:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + txtContato.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Email:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + txtEmail.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Telefone:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + telefoneCompleto + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Ocupação:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + ddlOcupacao.SelectedItem.Text + "</td></tr>");
        mensagem.Append("<tr><td colspan=\"4\">&nbsp</td></tr>");
        mensagem.Append("<tr><td colspan=\"4\">Para ajudá-lo(a), encaminhamos algumas dicas importantes:");
        mensagem.Append("<ul style=\"margin-top:4px;\"><li>Cuide de sua aparência;</li><li>Busque informações sobre a empresa que a convida para a entrevista;</li><li>Escolha uma roupa adequada para a ocasião;</li><li>Confira o caminho até a empresa e calcule o tempo necessário para chegar cerca de 15 minutos antes.</li></ul></td></tr>");
        mensagem.Append("<tr><td colspan=\"4\">Sucesso!<br /></td></tr>");
        mensagem.Append("<tr><td colspan=\"4\"><hr></td></tr>");
        mensagem.Append("<tr><td colspan=\"4\">Recife, " + DateTime.Today.ToString("dd ' de ' MMMM ' de ' yyyy") + "</td></tr>");
        mensagem.Append("</table>");
        mensagem.Append("</body>");
        mensagem.Append("</html>");
        return mensagem;
    }

    protected StringBuilder GeraMensagemFlorescer()
    {
        string telefoneCompleto = this.txtTelefone.Text.Substring(0, 2) + " " + this.txtTelefone.Text.Remove(0, 2);

        StringBuilder mensagem = new StringBuilder();
        mensagem.Append("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\"><html xmlns=\"http://www.w3.org/1999/xhtml\">");
        mensagem.Append("<head><meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />");
        mensagem.Append("<style type=\"text/css\">");
        mensagem.Append("body { font: 13px Arial, Helvetica, sans-serif; } ");
        mensagem.Append(".nome {font:bold 20px Tahoma, Arial;color:#006C91; } ");
        mensagem.Append(".dados {font-weight: bold;} ");
        mensagem.Append("</style></head>");
        mensagem.Append("<body>");
        mensagem.Append("<table style=\"width:500px;\" cellpadding=\"0\" cellspacing=\"4\" id=\"tabela\"><tr><td colspan=\"4\" class=\"nome\"><img src=\"http://www.pe.senac.br/camara/figuras/projeto_florescer.png\" width=\"196\" /></td></tr>");
        mensagem.Append("<tr><td colspan=\"4\" style=\"text-align:justify\">Prezado(a), <br /><br />");
        mensagem.Append("O currículo de um candidato foi selecionado por uma das empresas cadastradas no Banco de Talentos do Projeto Florescer, para participar de uma entrevista.<br /></td></tr>");
        mensagem.Append("<tr><td colspan=\"4\">&nbsp</td></tr>");
        mensagem.Append("<tr><td colspan=\"4\" style=\"text-align:justify\">Dados da Empresa: <br /><br />");
        if (txtEmpresa.Text != "")
            mensagem.Append("<tr><td style=\"width:68px;\"><strong>Empresa:</strong></td><td style=\"width:432px;\">" + txtEmpresa.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Data:</strong></td><td style=\"width:432px;\">" + txtData.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:48px;\"><strong>Horário:</strong></td><td style=\"width:432px;\">" + txtHora.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Local:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + txtLocal.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Contato:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + txtContato.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Email:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + txtEmail.Text + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Telefone:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + telefoneCompleto + "</td></tr>");
        mensagem.Append("<tr><td colspan=\"4\">&nbsp;</td></tr>");
        mensagem.Append("<tr><td colspan=\"4\" style=\"text-align:justify\">Dados do Candidato: <br /><br />");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Nome:</strong></td><td style=\"width:432px;\">" + Session["NomeAluno"].ToString() + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Endereço:</strong></td><td style=\"width:432px;\">" + Session["EnderecoAluno"].ToString() + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:48px;\"><strong>Telefone:</strong></td><td style=\"width:432px;\">" + Session["TelefoneAluno"].ToString() + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Email:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + Session["EmailAluno"].ToString() + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>CPF:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + Session["CPF"].ToString() + "</td></tr>");
        mensagem.Append("<tr><td style=\"width:68px;\"><strong>Ocupação:</strong></td><td colspan=\"3\" style=\"width:432px;\">" + ddlOcupacao.SelectedItem.Text + "</td></tr>");
        mensagem.Append("<tr><td colspan=\"4\">&nbsp</td></tr>");
        mensagem.Append("</table>");
        mensagem.Append("</body>");
        mensagem.Append("</html>");
        return mensagem;
    }

    protected void btnVoltar_Click(object sender, ImageClickEventArgs e)
    {
        Response.Redirect("dadosInscrito.aspx?cod="+ hfCod.Value +"&cpf="+ hfCPF.Value);
    }
}